<?php
/**
 * 接口控制器
 * 所有接口都继承自该控制器
 * 所有接口都返回json格式的数据
 * 所有接口都接收json格式的数据
 * 所有接口都需要进行登录验证
 * 所有接口都需要进行权限验证
 * 所有接口都需要进行CSRF验证
 * 所有接口都需要进行参数验证
 * 所有接口都需要进行异常处理
 * 所有接口都需要进行日志记录
 * 所有接口都需要进行性能监控
 * 所有接口都需要进行缓存处理
 * 所有接口都需要进行跨域处理
 * 所有接口都需要进行HTTPS处理
 * 所有接口都需要进行参数加密处理
 * 所有接口都需要进行参数解密处理
 * 所有接口都需要进行数据加密处理
 * 所有接口都需要进行数据解密处理
 * 所有接口都需要进行数据签名处理
 * 所有接口都需要进行数据验签处理
 * 所有接口都需要进行数据压缩处理
 * 所有接口都需要进行数据解压处理
 */
namespace app\api\controller;

use app\common\controller\ApiBaseController;
use core\Config;
use core\Debug;
//这里使用中间件 TestMiddleware 进行测试
class ApiController extends ApiBaseController
{
    /**
     * 初始化
     */
    public function initialize()
    {
        parent::initialize();
        // 登录验证
        //$this->checkLogin();

        // 注册控制器中间件 - 应用于所有方法
        //$this->middleware('TestMiddleware');

        // 注册只应用于特定方法的中间件
        //$this->middleware('AuthMiddleware', ['only' => ['update']]);

        // 注册应用于除特定方法外的所有方法的中间件
        $this->middleware('TestMiddleware', ['except' => ['user']]);
    }
}
